Personnel
Overall Objectives
Research Program
Application Domains
New Software and Platforms
New Results
Bilateral Contracts and Grants with Industry
Partnerships and Cooperations
Dissemination
Bibliography
XML PDF e-pub
PDF e-Pub


Section: New Software and Platforms

IPFME

Integer Polynomial Fourier-Motzkin Elimination

Keywords: Fourier–Motzkin Elimination - Quantifier Elimination - System of Inequalities - Mixed Integer Programming - Polynomial or analytical systems

Scientific Description: Fourier-Motzkin is a very well known algorithm for performing quantifier (variable) elimination, given a system (or formula) of inequalities. It removes quantified variables by combining all upper and lower bounds of such variables.

It was designed to operate on linear systems, where all coefficients of the variable being eliminated are numeric values, and the inequality can be classified as either a upper or lower bound.

When dealing with polynomials, variable coefficients might be symbolic expressions. In such case, all possible signs of the coefficient (positive, negative, or zero) must be explored.

To avoid this branching we use the positiveness test algorithm, proposed by Markus Schweighofer (https://doi.org/10.1016/S0022-4049(01)00041-X), to retrieve symbolic coefficient signs.

The same positiveness test algorithm is of major importance when resolving system over integer variables, instead of reals. It is used in many other techniques required to preserve the precision of the simplified formula, such as extending the normalization technique (https://doi.org/10.1145/125826.125848) to symbolic expressions, performing convex hull detection and removing redundant constraints. Such tester is implemented using GLPK (https://www.gnu.org/software/glpk).

Functional Description: Quantifier elimination is the process of removing existential variables of a given formula, obtaining one with less variables and that implies the original formula. This can also be viewed as a projection of the set of points (integer here) that satisfy the original formula onto a sub-vectorial space made up of all the non-eliminated variables. The obtained projection is an over-approximation of the exact projection. The goal of the process is to make it as tight as possible.

IPFME presents extensions to the Fourier-Motzkin quantifier elimination process. The developed techniques allow to derive more precise simplification operations when handling integer valued multivariate polynomial systems.

The implementation, in C++, uses GiNaC (https://www.ginac.de/) for the manipulation of symbolic expressions.